import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: zhongyisheng
 * Date: 2024-05-12
 * Time: 10:19
 */
public class Test {

    public static void move(char pos1,char pos2){
        System.out.print(pos1+"->"+pos2+" ");
    }
    /**
     *
     * @param n   盘子个数
     * @param pos1  起始位置
     * @param pos2  中途位置
     * @param pos3  目的地位置
     * */
    public static void hanoi(int n,char pos1,char pos2,char pos3){
        if(n==1){
            move(pos1,pos3);
        }else{
            hanoi(n-1,pos1,pos3,pos2);
            move(pos1,pos3);
            hanoi(n-1,pos2,pos1,pos3);
        }
    }
    public static void main(String[] args) {
        hanoi(1,'A','B','C');
        System.out.println();
        hanoi(2,'A','B','C');
        System.out.println();
        hanoi(3,'A','B','C');


    }



//    在同一个类中定义多个方法：要求不仅可以求2个整数的最大值，还可以求3个小数的最大值？
    public static int max(int x,int y){
        return x>y?x:y;
    }
    public static float max(float x,float y,float z){
        float tmp =x>y?x:y;
        return tmp>z?tmp:y;
    }

    public static void main5(String[] args) {
        int a = 2;
        int b = 4;
        float x = 5.0f;
        float y = 7.4f;
        float z = 1.0f;
        System.out.println(max(a, b));
        System.out.println(max(x, y, z));

    }
//    在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码，求出结果
    public static int maxAnd(int x ,int y){
        return x+y;
    }
    public static double maxAnd(float a,float b,float c){
        return a+b+c;
    }
    public static void main4(String[] args) {
        int a = 2;
        int b = 4;
        float x = 5.0f;
        float y = 7.4f;
        float z = 1.0f;
        System.out.println(maxAnd(a, b));
        System.out.println(maxAnd(x, y, z));
    }

//    创建方法求两个数的最大值max2，随后再写一个求3个数的最大值的函数max3。
//    要求：在max3这个函数中，调用max2函数，来实现3个数的最大值计算
    public static int max2(int x ,int y){
        return x>y?x:y;
    }
    public static int max3(int x ,int y,int z){
        int tmp = max2(x,y);
        return max2(tmp,z);
    }

    public static void main3(String[] args) {
        int a =2 ;
        int b=3;
        int c=4;
        System.out.println(max3(a, b, c));
    }

    public static void main2(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int i = scanner.nextInt();
        System.out.println(i);
        while (scanner.hasNext()){
            int n = scanner.nextInt();
            System.out.println(n);
        }
    }
    public static void main1(String[] args) {
        int n = 7;
        int count =0;
        while( n != 0){
            n&=(n-1);
            count++;
        }
        System.out.println(count);
    }
}
